1. Field of the Invention
The present invention relates, in general, to delegated computing system, and more particularly to management of persistent delegated environments.
2. Relevant Background
Increasingly, business data processing systems, entertainment systems, and personal communications systems are implemented by computers interconnected by networks (e.g., the Internet). The Internet and other forms of network computing are rapidly emerging as the preferred system for distributing and exchanging data. Another rising use of network resources is the concept of offering services via a network.
The Internet, or any computing network, is a collection of heterogeneous computers and networks coupled together by a web of interconnections using standardized communications protocols. The Internet is characterized by its vast reach as a result of its wide and increasing availability and easy access protocols.
Service based network computing is a broad characterization of software applications and other services maintained on a network that can be utilized by one or more local users without requiring each user to possess the resources (i.e., software) typically associated with each such service. Traditionally, a user working in a computing environment possesses a processor and some form of data storage means that permits the user to maintain various software applications on his or her personal computer. For example, a user working on a personal computer may possess a word processing application, a spreadsheet application, and a graphics application. The operating system of the user's computer manages the environment of the operation of the various software applications stored locally on the user's machine as well as the data that can be accessed by each application. In a simplified example, imagine a user accessing a text document file, stored on the user's computer, by the word processing program that is also stored and executed on the user's computer. When the user wishes to use such an application, the operating system, under the direction of the user, accesses the application software and necessary data files to create a unique computing environment for that user. Through the application software that is being run on the user's computer, various input files, also normally housed on the user's computer, can be accessed, modified, and/or created.
The introduction of network computing has dramatically altered this simple model. As indicated above, network computing in the form of business data processing systems, entertainment systems, and personal communications systems has rapidly evolved. Many large business enterprises utilize local area networks that link computers together. These networks provide both a means to distribute the storage of data and to centrally standardize applications available to users coupled to the network. Continuing with our previous example, a user of a local area network may access a word processing application residing on a server and gain access to data files stored elsewhere in the network. In this scenario, the user's computer acts as a portal to the network server which houses and executes the application. The actual word processing software is not stored or executed on the user's computer but rather on the server on the local area network. Similarly, the input data file may also not be stored on the user's computer but found elsewhere on the network. There are multiple scenarios, variations, and combinations of scenarios that follow this theme of operating in a network environment including grid-based computing.
Grid-based computing utilizes system software, middleware, and networking technologies to combine independent computers and subsystems into a logically unified system. Grid-based computing systems are composed of computer systems and subsystems that are interconnected by standard technology such as networking, I/O, or web interfaces. While comprised of many individual computing resources, a grid-based computing system is managed as a single computing system.
Delegated computing refers to the use and access of services supplied via a network system. A grid-based computing system or other type of network computing architecture is established to provide various services. A user accessing one or more of these services delegates control of his or her computing environment to that particular service. Thus the user seeking a word processing service delegates word processing operations to a particular service on a particular network or grid. The combination of various delegated services forms a user's delegated environment.
One aspect of network based computing that has restrained the evolution of network based services is the idea of central management. In a local network, such as described above, the delegated environment corresponding to any one service is typically standardized. The operating system of the user's computer, the network interface, the applications offered by the service network, version numbers, data structure, and so forth are centrally managed to ensure maximum compatibility within the local area network. Even the commercial software market is standardized to some degree. Currently, an operating system or software application has a limited life. Upgrades on the operating system, communication software, network protocols, data structures, hardware and other peripheral components eventually make older version software inoperable. The environment in which they were functional is lost.
Each user's computing environment is unique and correspondingly each user's delegated computing environment is unique. The expertise and familiarity that a user develops with a particular version of software or interaction with a type of data file can be considerable. The loss in productivity associated with an upgrade or version change is well known and highly scrutinized in large organizations. New versions of software may offer new and improved capabilities or correct previously identified failings, yet the decision to upgrade is not universally accepted. Some users would prefer to maintain the current familiar environment while others will jump at acquiring new capabilities. It would be desirable therefore to allow users operating in a distributed service orientated network environment to maintain different user environments.
The introduction of network based services amplifies this need. Each user accessing a network based service creates a unique environment. For example, a first user, operating on a previous version of an operating system, may access a service based word processing service and create a new data file. Based on the first user's operating system, the word processing application's capabilities may be limited so as to be compatible with the user's operating system. A second user, whose computer utilizes a newer version of the operating system, accesses the same service. Based on the newer operating system, different capabilities of the same word processing application may be available. In this example, the files created by the two users are produced under different delegated environments. If the version of the service software changes, the environment in which the two user's files were created is lost even though both users have not altered their position. While software applications strive to be backward compatible, there is no guarantee that either user will be able to recreate the environment in which the original file was created.
What is needed are computer implemented methods and systems for dynamic persistent user management in delegated environments. Users accessing services in a delegated environment need to be able to consistently and reliably recreate the environment in which they had previously operated so as to access, edit and, if necessary, recreate files in that prior environment.